Seven Principles In Software Testing